home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 24 / Amiga Format AFCD24 (Feb 1998, Issue 108).iso / -seriously_amiga- / shareware / programming / other / kaliosisquantrum / morb / scrolls.s < prev    next >
Text File  |  1998-01-12  |  1KB  |  64 lines

  1. *
  2. * CdBSian Obviously Universal & Interactive Nonsense (COUIN)
  3. * (Absurdité CdBSienne Manifestement Universelle et Interactive)
  4. * ©1997-1998, CdBS Software (MORB)
  5. * Various scrolling & floor-mapping routines
  6. * $Id: Scrolls.s 0.1 1997/09/10 22:26:12 MORB Exp MORB $
  7. *
  8.  
  9. _BackGroundScroll: ; d0=Xpos
  10.      move.l    _BGDwarfSize,d7
  11.  
  12.      lea       _BGTbl(pc),a3
  13.      move.l    d0,d1
  14.      and.l     #$c0,d1
  15.      lsr.l     #4,d1
  16.      move.l    (a3,d1.l),a3
  17.  
  18.      move.l    d0,d1
  19.      lsr.l     #8,d1
  20.      divs      #5,d1
  21.      swap      d1
  22.  
  23.      lea       _GDwarfTable+2<<2,a1
  24.      moveq     #5,d2
  25.      sub.w     d1,d2
  26.  
  27.      mulu      d7,d1
  28.      lea       (a3,d1.l),a2
  29.      lea       BGDwarves,a0
  30.  
  31.      moveq     #63,d3
  32.      sub.l     d0,d3
  33.      move.l    d3,d0
  34.      ;not.l     d0
  35.      ;addq.l    #1,d0
  36.      and.l     #$3f,d0
  37.      sub.l     #64,d0
  38.  
  39.      moveq     #5-1,d3
  40. .Loop:
  41.      move.l    a2,(a1)+
  42.      move.l    a2,(a0)
  43.      move.w    d0,gdw_X(a0)
  44.      move.w    #32,gdw_Y(a0)
  45.      bsr       _RefreshGardenDwarf
  46.      add.l     d7,a2
  47.      lea       gdw_Size(a0),a0
  48.      add.l     #64<<2,d0
  49.  
  50.      subq.l    #1,d2
  51.      bne.s     .Ouîk
  52.      move.l    a3,a2
  53. .Ouîk:
  54.  
  55.      dbf       d3,.Loop
  56.  
  57.      bsr       _LoadGardenDwarvesPtrs
  58.      rts
  59.  
  60. _BGDwarfSize:
  61.      dc.l      (2+122)<<4
  62. _BGTbl:
  63.      dc.l      _BackDats,_BackDats1,_BackDats2,_BackDats3
  64.